//
// Created by benxb on 2022/3/20.
//

#ifndef BENXDB_SEMANTIC_KITTI_READER_H
#define BENXDB_SEMANTIC_KITTI_READER_H

#include <string>
#include <vector>
#include <fstream>
#include <data_reader.h>

class SemanticKittiReader : public DataReader {
public:
    explicit SemanticKittiReader(const std::string &data_dir);

    ~SemanticKittiReader() = default;

    void ReadSweep(std::vector<float>& x_arr, std::vector<float>& y_arr, std::vector<float>& z_arr) override;

    void ReadMapFile(std::vector<float>& x_arr, std::vector<float>& y_arr, std::vector<float>& z_arr,
                     std::vector<uint16_t>& instance_arr, std::vector<uint16_t>& cls_arr);

private:
};

#endif //BENXDB_SEMANTIC_KITTI_READER_H
